This invention relates to a device, system and method for generating tokens for security purposes.
Many applications utilize token generation to enhance security through the provision of session specific tokens. Token generators often require a user to carry hardware with them, such as key fobs, cards, or USB devices, which are required for the generation of the session specific token. Carrying such devices may be inconvenient to a user.
The abovementioned hardware-type token generators often use time-based encryption, wherein the current time upon generation of a session-specific token is used as an input value to the algorithm used. The use of a time as an input value is an example of dynamic key use, where a continuously changing (dynamic) key is used as an input value to the algorithm used for determining the session specific token. A dynamic key ensures that the algorithm will provide a different result each time that the result of the algorithm is determined. If the same input value is used more than once in a token generating device which utilizes a single algorithm, the same result will be obtained. By including a dynamic input value, a different result should be obtained after each calculation.
A major problem which is often encountered with hardware-type token generators which use time as an input value is that the clock which provides the time to the hardware has to be synchronized with the clock of a service provider who has to check the validity of a generated token. Should the clocks not be synchronized, a validly generated token may not be recognized as valid when it is checked by a service provider with a clock that is out-of-sync to the clock of the hardware.
Mobile banking involves the use of a mobile device to pay for goods or services at a point-of-sale (POS) of a merchant, or even remotely. Mobile payments, in turn, refer to payment services performed with the use of a mobile device. Examples of mobile payments include situations in which details of a person's financial transaction card, such as a debit or credit card, is stored on the person's mobile device, typically in the format of Track 1 or Track 2 card data. Track 1 and Track 2 are standardized formats in which properties of a financial transaction card are stored on the cards themselves.
The mobile device transfers the details of a person's financial transaction card to a POS terminal of a merchant where a user wishes to transact, for example by means of near-field communications technology. The POS terminal, in turn, transmits the details to an issuing authority that is to approve or deny payment from an account of the user held by the issuing authority. Security concerns do however still exist with regards to mobile payments, for example regarding the possibility of the interception of the details during its transfer, or the access protection offered by the mobile device with regards to the payments cards stored thereon.